home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SNNSV32.ZIP / SNNSv3.2 / kernel / sources / cc_rcc.ph < prev    next >
Text File  |  1994-04-25  |  4KB  |  124 lines

  1. /*****************************************************************************
  2.   FILE           : cc_rcc.ph
  3.   SHORTNAME      : 
  4.   SNNS VERSION   : 3.2
  5.  
  6.   PURPOSE        : Header file of correspondent '.c' file
  7.   NOTES          :
  8.  
  9.   AUTHOR         : Michael Schmalzl
  10.   DATE           : 5.2.92
  11.  
  12.   CHANGED BY     : Michael Schmalzl
  13.   IDENTIFICATION : @(#)cc_rcc.ph    1.9 4/12/94
  14.   SCCS VERSION   : 1.9
  15.   LAST CHANGE    : 4/12/94
  16.  
  17.              Copyright (c) 1990-1994  SNNS Group, IPVR, Univ. Stuttgart, FRG
  18.  
  19. ******************************************************************************/
  20. #ifndef _CC_RCC_DEFINED_
  21. #define  _CC_RCC_DEFINED_
  22.  
  23. /* begin global definition section */
  24.  
  25. krui_err cc_freeStorage(int StartPattern, int EndPattern, int flag);
  26. void rcc_manageResetArray(int startPattern, int endPattern, int flag);
  27. void rcc_manageLinkArray(int newNoOfSpecialUnits, int flag);
  28. krui_err cc_deleteAllSpecialAndAllHiddenUnits(void);
  29. krui_err cc_allocateStorage(int StartPattern,int EndPattern, int NoOfSpecialUnits);
  30. void cc_initErrorArrays(void);
  31. void cc_initActivationArrays(void);
  32. void cc_printTopoPtrArray(void);
  33. void cc_printUnitArray(void);
  34. FlintType cc_generateRandomNo(float maxValue);
  35. void cc_printUnit(struct Unit *unitPtr);
  36. void cc_printAllLinks(struct Unit *unitPtr);
  37. void cc_compareActFunctions(int actFunc,int flag);
  38. krui_err cc_changeActFuncOfSpecialUnits(int type,int LearnFunc);
  39. krui_err cc_calculateNetParameters(int *maxYPosOfHiddenUnit,int *xPosOfLastInsertedHiddenUnit,
  40.                                    int *yPosOfLastInsertedHiddenUnit,int *outputXMax);
  41. void cc_initOutputUnits(void);
  42. float cc_calculateCorrelation(int StartPattern,int EndPattern,int counter);
  43. void cc_initInputUnitsWithPattern(int PatternNo);
  44. krui_err cc_setHiddenUnit(struct Unit *hiddenUnitPtr,int maxYPosOfHiddenUnit,
  45.                                  int *xPosOfLastInsertedHiddenUnit,int *yPosOfLastInsertedHiddenUnit);
  46. krui_err cc_setPointers(void);
  47. krui_err cc_initSpecialUnitLinks(void);
  48. void cc_updatePosOfSpecialUnits(void);
  49. krui_err cc_deleteAllSpecialUnits(void);   
  50.  
  51.  
  52. struct CC_DATA  cc_data ={
  53.                             { MAX_PIXEL_ERROR,
  54.                               LEARNING_FUNC, 
  55.                               ON_OFF},
  56.                             { MIN_COVARIANCE_CHANGE, 
  57.                               SPECIAL_PATIENCE,
  58.                               MAX_NO_OF_COVARIANCE_UPDATE_CYCLES,
  59.                               MAX_SPECIAL_UNIT_NO, 
  60.                               SPECIAL_FUNC_TYPE },
  61.                             { MIN_ERROR_CHANGE,
  62.                               OUT_PATIENCE,
  63.                                MAX_NO_OF_ERROR_UPDATE_CYCLES}
  64.                            };
  65.  
  66. char *cc_onOffArray[]       ={"off","on"};
  67. char *cc_actFuncArray[]     ={"Act_Logistic","Act_LogSym","Act_TanH",
  68.                               "Act_Random"};
  69. char *cc_learningFuncArray[]={"Quickprop","Backprop","RPROP"};
  70.  
  71. char *rcc_actFuncArray[]     ={"Act_RCC_Logistic","Act_RCC_LogisticSym","Act_RCC_Tanh",
  72.                                "Act_Random"};
  73.  
  74. int cc_end=0;
  75. int cc_storageFree=1;
  76.  
  77. int cc_allButtonIsPressed=1;
  78. int rcc_currentPattern;
  79.  
  80.  
  81. struct Unit  **FirstInputUnitPtr,**FirstHiddenUnitPtr,
  82.              **FirstOutputUnitPtr,**FirstSpecialUnitPtr,
  83.               *bestSpecialUnitPtr;
  84.  
  85. float **OutputUnitError=NULL;
  86. float **SpecialUnitAct=NULL;
  87. float **CorBetweenSpecialActAndOutError=NULL;
  88. float *OutputUnitSumError=NULL;
  89. float *SpecialUnitSumAct=NULL;
  90.  
  91. void (*cc_trainSpecialUnits)(int maxNoOfCovarianceUpdateCycles, float minCovarianceChange, 
  92.                                  int specialPatience,int StartPattern,int EndPattern,
  93.                                  float param4, float param5, float param6, int MaxSpecialUnitNo);
  94. void (*cc_trainOutputUnits)(int maxNoOfErrorUpdateCycles, float minErrorChange, 
  95.                                 int outPatience, int StartPattern,int EndPattern,
  96.                                 float param1,float param2, float param3,
  97.                                 float **ParameterOutArray,int *NoOfOutParams);
  98.  
  99. int cc_update = 0;
  100. float SumSqError;
  101. int cc_printOnOff;
  102. int *reset=0;
  103. float **linkArray=0;
  104. int cc_cascade=0;
  105.  
  106. /* end global definition section */
  107.  
  108.  
  109.  
  110. /* begin privat definition section */
  111.  
  112. static int OldNoOfSpecialUnitStorage=0;
  113. static struct {
  114.          int StartPattern;
  115.          int EndPattern;
  116.        } old={0,0};  
  117.  
  118. /* end privat definition section */
  119.  
  120. #endif /* _CC_RCC_DEFINED_ */
  121.  
  122.  
  123.  
  124.